1. Field of the Invention
The present invention relates to a print control program, print control apparatus, and print control method, which have a display function of a preview image of an image to be printed on a paper sheet based on print data created by application software, a change function of a paper type and the like, and so forth.
2. Description of the Related Art
A print preview function which temporarily displays an image to be printed on the display of a host computer before the image is actually printed on a paper sheet upon printing application data such as text, graphics, and the like created by application software or the like is known. The user can confirm the layout and the like of an image to be formed on a paper sheet by checking the image to be printed using this print preview function. An application program normally provides the print preview function. Note that an image to be displayed by the preview function will be referred to as a preview image and displaying a preview image will be referred to as previewing hereinafter.
A printer driver can also change a layout and the like since it has more advanced functions. Since the preview function provided by the application program cannot display a layout changed by the function of the printer driver, a function of previewing an image which reflects a layout change by the printer driver is demanded.
On the other hand, upon displaying and printing an image, colors to be expressed must not depend on devices. That is, a color indicated by a specific value on a given color system must be output as the same color by another device. Especially, the preview function is required to match the colors of an image to be printed with those of an image to be previewed. To meet such requirement, the latest operating system (OS) includes a color management function of matching the colors of an original image with those to be displayed on a display and that to be printed by a color printer. This function is also called a color matching function. As one of methods of implementing the color matching function, a method using files called color profiles, which define color attributes of respective devices is available. As a color matching technique using color profiles, a technique in which a printer driver and printer selectively use color profiles for a display and printer to match the display colors with the print colors of the printer has been proposed (see Japanese Patent Laid-Open No. 2003-244468).
In order to reflect the layout processing executed by the printer driver in a preview image, the printer driver must display the preview image. However, with this processing, the preview image is displayed in colors different from those to be printed.
This is because data used by the printer driver to display a preview image has undergone color matching processing for a printer device by the OS. That is, in order to print data, the application program calls a rendering function provided by the OS. Then, the OS outputs a rendering command that has undergone color matching for a printer to the printer driver. For this reason, when the printer driver displays a preview image using that rendering command intact, the preview image with normal colors cannot be displayed.
FIGS. 2A and 2B are views for explaining a preview image with a color that has undergone matching for a printer. A generally prevalent personal computer uses Windows® available from Microsoft Corporation as an OS, and the color of an original image is expressed on an RGB color system. FIGS. 2A and 2B show a rendering example of a text image “BLUE” with a color designated by (R=0, G=0, and B=255) from an application 101. FIG. 2A shows a state in which the application 101 displays a text image “BLUE” on a display 112 when the user creates data. FIG. 2B is a diagram for explaining the print processing to a printer 107 and the preview processing on the display 112. Note that data goes through a graphic device interface (GDI) 102 in the OS when the application 101 renders the data on the display 112 and when a printer graphics driver (the rendering function of the printer driver) 106 displays a preview image. However, in the following description, such processing will be omitted. The application 101 may execute color matching processing when it displays data on the display 112. However, in the following description, the application 101 does not execute matching. The GDI 102 is generally called a graphic engine or the like.
When the user observes data using the application 101, the application 101 renders a rendering instruction of a text image “BLUE” in a color corresponding to color information (R=0, G=0, B=255) on the display 112. The display result is an image 113. On the other hand, when the user prints data using the printer 107, the application 101 sends a rendering instruction to the printer 107 via the GDI 102. The color management function in the GDI 102 applies color matching to the color information R=0, G=0, B=255) included in the rendering instruction using a color profile 114 which saves color characteristics of the printer 107. As a result, the color information is converted into values (R=90, G=70, B=255) in the example shown in FIG. 2B. Then, the rendering instruction having color information (R=90, G=70, B=255) is output to the printer 107 via the printer graphics driver 106. The printer 107 executes print processing according to the received rendering instruction. The output color of a print result 110 by the printer 107 looks as the same color as the display color of a display result 113 since it has undergone correction (color matching) according to the color characteristics of the printer 107.
In order to display a preview image by the printer driver, the printer graphic driver 106 must execute preview processing. Input data to the printer driver has undergone color matching using the color profile 114 for the printer 107 by the color management function in the GDI 102. Hence, the color information has already been converted into values (R=90, G=70, B=255). Since this color information used to display a preview image, when a preview image 111 is displayed on the display 112, its color is different from the display result 113 by the application 101, and the preview image is displayed to have a color different from the original color.
To prevent this, the printer driver or printer itself executes color matching without using the GDI. However, the method of executing color matching in the printer driver or printer poses a problem that the rendering function of the OS that renders text and the like can no longer be used. This is because the rendering function of the OS works in collaboration with the color management function of the OS. That is, since there is no means for converting color information of the OS from outside the OS, even when the color matching function provided by the printer driver is used to convert colors, it cannot pass the converted color information to the OS. For this reason, if the rendering function of the OS is used, rendering is done using the color before conversion by the color matching function as an input color. In this manner, upon executing the color matching in the printer driver or printer, the rendering function of the OS cannot be used.
In order to display a preview image, rendering may be made using its own rendering function without using that of the OS. In this manner, color conversion for display may be applied to the rendering result to attain color matching for preview. However, in this case, upon making complicated rendering, the display result on the display may be different from the print result of the printer due to the specifications different from the rendering function of the OS. A new function added upon upgrading the OS version cannot be supported, and the print function may not normally work. Furthermore, high cost is required to develop a rendering engine.
Upon developing a unique color management function without using that of the OS, a problem of variations of colors output as a result of color matching is posed. For example, the color matching result may not often be satisfactory depending on the conversion method used by the uniquely developed color management function and its arithmetic precision. If devices selectively use the color management function of the OS and the unique one, colors to be originally output as the same colors may be output as different colors. Furthermore, a very large number of specifications of color profiles are available, and they may be changed. For this reason, it is difficult to maintain compatibility with the specifications of color profiles that may be used in terms of both cost and techniques.
The printer graphics driver 106 may convert a color signal which has already undergone matching for the printer into that for the display 112. However, since the processing is executed twice, it takes much time until a preview image is displayed. Upon executing the color matching processing between devices with different color gamuts, since a color which cannot be reproduced by a device after conversion must be replaced by another color (gamut mapping), originally different colors may be previewed as the same color.